/**
 * This is my code.
 *
 * $Id$
 */
package fi.jab.esb.config.xml.impl;

import fi.jab.esb.config.xml.FsMessageFilterType;
import fi.jab.esb.config.xml.XmlPackage;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Fs Message Filter Type</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getDirectory <em>Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#isErrorDelete <em>Error Delete</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getErrorDirectory <em>Error Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getErrorSuffix <em>Error Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getInputSuffix <em>Input Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#isPostDelete <em>Post Delete</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getPostDirectory <em>Post Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getPostSuffix <em>Post Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.impl.FsMessageFilterTypeImpl#getWorkSuffix <em>Work Suffix</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class FsMessageFilterTypeImpl extends EObjectImpl implements FsMessageFilterType
{
  /**
   * The default value of the '{@link #getDirectory() <em>Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getDirectory()
   * @generated
   * @ordered
   */
  protected static final String DIRECTORY_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getDirectory() <em>Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getDirectory()
   * @generated
   * @ordered
   */
  protected String directory = DIRECTORY_EDEFAULT;

  /**
   * The default value of the '{@link #isErrorDelete() <em>Error Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isErrorDelete()
   * @generated
   * @ordered
   */
  protected static final boolean ERROR_DELETE_EDEFAULT = true;

  /**
   * The cached value of the '{@link #isErrorDelete() <em>Error Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isErrorDelete()
   * @generated
   * @ordered
   */
  protected boolean errorDelete = ERROR_DELETE_EDEFAULT;

  /**
   * This is true if the Error Delete attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean errorDeleteESet;

  /**
   * The default value of the '{@link #getErrorDirectory() <em>Error Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getErrorDirectory()
   * @generated
   * @ordered
   */
  protected static final String ERROR_DIRECTORY_EDEFAULT = "processed";

  /**
   * The cached value of the '{@link #getErrorDirectory() <em>Error Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getErrorDirectory()
   * @generated
   * @ordered
   */
  protected String errorDirectory = ERROR_DIRECTORY_EDEFAULT;

  /**
   * This is true if the Error Directory attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean errorDirectoryESet;

  /**
   * The default value of the '{@link #getErrorSuffix() <em>Error Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getErrorSuffix()
   * @generated
   * @ordered
   */
  protected static final String ERROR_SUFFIX_EDEFAULT = ".esbERROR";

  /**
   * The cached value of the '{@link #getErrorSuffix() <em>Error Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getErrorSuffix()
   * @generated
   * @ordered
   */
  protected String errorSuffix = ERROR_SUFFIX_EDEFAULT;

  /**
   * This is true if the Error Suffix attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean errorSuffixESet;

  /**
   * The default value of the '{@link #getInputSuffix() <em>Input Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getInputSuffix()
   * @generated
   * @ordered
   */
  protected static final String INPUT_SUFFIX_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getInputSuffix() <em>Input Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getInputSuffix()
   * @generated
   * @ordered
   */
  protected String inputSuffix = INPUT_SUFFIX_EDEFAULT;

  /**
   * The default value of the '{@link #isPostDelete() <em>Post Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isPostDelete()
   * @generated
   * @ordered
   */
  protected static final boolean POST_DELETE_EDEFAULT = true;

  /**
   * The cached value of the '{@link #isPostDelete() <em>Post Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isPostDelete()
   * @generated
   * @ordered
   */
  protected boolean postDelete = POST_DELETE_EDEFAULT;

  /**
   * This is true if the Post Delete attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean postDeleteESet;

  /**
   * The default value of the '{@link #getPostDirectory() <em>Post Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getPostDirectory()
   * @generated
   * @ordered
   */
  protected static final String POST_DIRECTORY_EDEFAULT = "processed";

  /**
   * The cached value of the '{@link #getPostDirectory() <em>Post Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getPostDirectory()
   * @generated
   * @ordered
   */
  protected String postDirectory = POST_DIRECTORY_EDEFAULT;

  /**
   * This is true if the Post Directory attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean postDirectoryESet;

  /**
   * The default value of the '{@link #getPostSuffix() <em>Post Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getPostSuffix()
   * @generated
   * @ordered
   */
  protected static final String POST_SUFFIX_EDEFAULT = ".esbDone";

  /**
   * The cached value of the '{@link #getPostSuffix() <em>Post Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getPostSuffix()
   * @generated
   * @ordered
   */
  protected String postSuffix = POST_SUFFIX_EDEFAULT;

  /**
   * This is true if the Post Suffix attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean postSuffixESet;

  /**
   * The default value of the '{@link #getWorkSuffix() <em>Work Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getWorkSuffix()
   * @generated
   * @ordered
   */
  protected static final String WORK_SUFFIX_EDEFAULT = ".esbInProcess";

  /**
   * The cached value of the '{@link #getWorkSuffix() <em>Work Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getWorkSuffix()
   * @generated
   * @ordered
   */
  protected String workSuffix = WORK_SUFFIX_EDEFAULT;

  /**
   * This is true if the Work Suffix attribute has been set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  protected boolean workSuffixESet;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected FsMessageFilterTypeImpl()
  {
    super();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  protected EClass eStaticClass()
  {
    return XmlPackage.Literals.FS_MESSAGE_FILTER_TYPE;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getDirectory()
  {
    return directory;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setDirectory(String newDirectory)
  {
    String oldDirectory = directory;
    directory = newDirectory;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__DIRECTORY, oldDirectory, directory));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isErrorDelete()
  {
    return errorDelete;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setErrorDelete(boolean newErrorDelete)
  {
    boolean oldErrorDelete = errorDelete;
    errorDelete = newErrorDelete;
    boolean oldErrorDeleteESet = errorDeleteESet;
    errorDeleteESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE, oldErrorDelete, errorDelete, !oldErrorDeleteESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetErrorDelete()
  {
    boolean oldErrorDelete = errorDelete;
    boolean oldErrorDeleteESet = errorDeleteESet;
    errorDelete = ERROR_DELETE_EDEFAULT;
    errorDeleteESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE, oldErrorDelete, ERROR_DELETE_EDEFAULT, oldErrorDeleteESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetErrorDelete()
  {
    return errorDeleteESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getErrorDirectory()
  {
    return errorDirectory;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setErrorDirectory(String newErrorDirectory)
  {
    String oldErrorDirectory = errorDirectory;
    errorDirectory = newErrorDirectory;
    boolean oldErrorDirectoryESet = errorDirectoryESet;
    errorDirectoryESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY, oldErrorDirectory, errorDirectory, !oldErrorDirectoryESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetErrorDirectory()
  {
    String oldErrorDirectory = errorDirectory;
    boolean oldErrorDirectoryESet = errorDirectoryESet;
    errorDirectory = ERROR_DIRECTORY_EDEFAULT;
    errorDirectoryESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY, oldErrorDirectory, ERROR_DIRECTORY_EDEFAULT, oldErrorDirectoryESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetErrorDirectory()
  {
    return errorDirectoryESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getErrorSuffix()
  {
    return errorSuffix;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setErrorSuffix(String newErrorSuffix)
  {
    String oldErrorSuffix = errorSuffix;
    errorSuffix = newErrorSuffix;
    boolean oldErrorSuffixESet = errorSuffixESet;
    errorSuffixESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX, oldErrorSuffix, errorSuffix, !oldErrorSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetErrorSuffix()
  {
    String oldErrorSuffix = errorSuffix;
    boolean oldErrorSuffixESet = errorSuffixESet;
    errorSuffix = ERROR_SUFFIX_EDEFAULT;
    errorSuffixESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX, oldErrorSuffix, ERROR_SUFFIX_EDEFAULT, oldErrorSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetErrorSuffix()
  {
    return errorSuffixESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getInputSuffix()
  {
    return inputSuffix;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setInputSuffix(String newInputSuffix)
  {
    String oldInputSuffix = inputSuffix;
    inputSuffix = newInputSuffix;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__INPUT_SUFFIX, oldInputSuffix, inputSuffix));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isPostDelete()
  {
    return postDelete;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setPostDelete(boolean newPostDelete)
  {
    boolean oldPostDelete = postDelete;
    postDelete = newPostDelete;
    boolean oldPostDeleteESet = postDeleteESet;
    postDeleteESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE, oldPostDelete, postDelete, !oldPostDeleteESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetPostDelete()
  {
    boolean oldPostDelete = postDelete;
    boolean oldPostDeleteESet = postDeleteESet;
    postDelete = POST_DELETE_EDEFAULT;
    postDeleteESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE, oldPostDelete, POST_DELETE_EDEFAULT, oldPostDeleteESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetPostDelete()
  {
    return postDeleteESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getPostDirectory()
  {
    return postDirectory;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setPostDirectory(String newPostDirectory)
  {
    String oldPostDirectory = postDirectory;
    postDirectory = newPostDirectory;
    boolean oldPostDirectoryESet = postDirectoryESet;
    postDirectoryESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY, oldPostDirectory, postDirectory, !oldPostDirectoryESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetPostDirectory()
  {
    String oldPostDirectory = postDirectory;
    boolean oldPostDirectoryESet = postDirectoryESet;
    postDirectory = POST_DIRECTORY_EDEFAULT;
    postDirectoryESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY, oldPostDirectory, POST_DIRECTORY_EDEFAULT, oldPostDirectoryESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetPostDirectory()
  {
    return postDirectoryESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getPostSuffix()
  {
    return postSuffix;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setPostSuffix(String newPostSuffix)
  {
    String oldPostSuffix = postSuffix;
    postSuffix = newPostSuffix;
    boolean oldPostSuffixESet = postSuffixESet;
    postSuffixESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX, oldPostSuffix, postSuffix, !oldPostSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetPostSuffix()
  {
    String oldPostSuffix = postSuffix;
    boolean oldPostSuffixESet = postSuffixESet;
    postSuffix = POST_SUFFIX_EDEFAULT;
    postSuffixESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX, oldPostSuffix, POST_SUFFIX_EDEFAULT, oldPostSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetPostSuffix()
  {
    return postSuffixESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getWorkSuffix()
  {
    return workSuffix;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setWorkSuffix(String newWorkSuffix)
  {
    String oldWorkSuffix = workSuffix;
    workSuffix = newWorkSuffix;
    boolean oldWorkSuffixESet = workSuffixESet;
    workSuffixESet = true;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX, oldWorkSuffix, workSuffix, !oldWorkSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void unsetWorkSuffix()
  {
    String oldWorkSuffix = workSuffix;
    boolean oldWorkSuffixESet = workSuffixESet;
    workSuffix = WORK_SUFFIX_EDEFAULT;
    workSuffixESet = false;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.UNSET, XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX, oldWorkSuffix, WORK_SUFFIX_EDEFAULT, oldWorkSuffixESet));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public boolean isSetWorkSuffix()
  {
    return workSuffixESet;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Object eGet(int featureID, boolean resolve, boolean coreType)
  {
    switch (featureID)
    {
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__DIRECTORY:
        return getDirectory();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE:
        return isErrorDelete() ? Boolean.TRUE : Boolean.FALSE;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY:
        return getErrorDirectory();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX:
        return getErrorSuffix();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__INPUT_SUFFIX:
        return getInputSuffix();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE:
        return isPostDelete() ? Boolean.TRUE : Boolean.FALSE;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY:
        return getPostDirectory();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX:
        return getPostSuffix();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX:
        return getWorkSuffix();
    }
    return super.eGet(featureID, resolve, coreType);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void eSet(int featureID, Object newValue)
  {
    switch (featureID)
    {
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__DIRECTORY:
        setDirectory((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE:
        setErrorDelete(((Boolean)newValue).booleanValue());
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY:
        setErrorDirectory((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX:
        setErrorSuffix((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__INPUT_SUFFIX:
        setInputSuffix((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE:
        setPostDelete(((Boolean)newValue).booleanValue());
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY:
        setPostDirectory((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX:
        setPostSuffix((String)newValue);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX:
        setWorkSuffix((String)newValue);
        return;
    }
    super.eSet(featureID, newValue);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void eUnset(int featureID)
  {
    switch (featureID)
    {
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__DIRECTORY:
        setDirectory(DIRECTORY_EDEFAULT);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE:
        unsetErrorDelete();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY:
        unsetErrorDirectory();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX:
        unsetErrorSuffix();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__INPUT_SUFFIX:
        setInputSuffix(INPUT_SUFFIX_EDEFAULT);
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE:
        unsetPostDelete();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY:
        unsetPostDirectory();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX:
        unsetPostSuffix();
        return;
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX:
        unsetWorkSuffix();
        return;
    }
    super.eUnset(featureID);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public boolean eIsSet(int featureID)
  {
    switch (featureID)
    {
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__DIRECTORY:
        return DIRECTORY_EDEFAULT == null ? directory != null : !DIRECTORY_EDEFAULT.equals(directory);
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DELETE:
        return isSetErrorDelete();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_DIRECTORY:
        return isSetErrorDirectory();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__ERROR_SUFFIX:
        return isSetErrorSuffix();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__INPUT_SUFFIX:
        return INPUT_SUFFIX_EDEFAULT == null ? inputSuffix != null : !INPUT_SUFFIX_EDEFAULT.equals(inputSuffix);
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DELETE:
        return isSetPostDelete();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_DIRECTORY:
        return isSetPostDirectory();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__POST_SUFFIX:
        return isSetPostSuffix();
      case XmlPackage.FS_MESSAGE_FILTER_TYPE__WORK_SUFFIX:
        return isSetWorkSuffix();
    }
    return super.eIsSet(featureID);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public String toString()
  {
    if (eIsProxy()) return super.toString();

    StringBuffer result = new StringBuffer(super.toString());
    result.append(" (directory: ");
    result.append(directory);
    result.append(", errorDelete: ");
    if (errorDeleteESet) result.append(errorDelete); else result.append("<unset>");
    result.append(", errorDirectory: ");
    if (errorDirectoryESet) result.append(errorDirectory); else result.append("<unset>");
    result.append(", errorSuffix: ");
    if (errorSuffixESet) result.append(errorSuffix); else result.append("<unset>");
    result.append(", inputSuffix: ");
    result.append(inputSuffix);
    result.append(", postDelete: ");
    if (postDeleteESet) result.append(postDelete); else result.append("<unset>");
    result.append(", postDirectory: ");
    if (postDirectoryESet) result.append(postDirectory); else result.append("<unset>");
    result.append(", postSuffix: ");
    if (postSuffixESet) result.append(postSuffix); else result.append("<unset>");
    result.append(", workSuffix: ");
    if (workSuffixESet) result.append(workSuffix); else result.append("<unset>");
    result.append(')');
    return result.toString();
  }

} //FsMessageFilterTypeImpl
